import axios from 'axios'
// 引入进度条
import nprogress from 'nprogress'
import 'nprogress/nprogress.css'

// 引入仓库
import store from '@/store/index'

// request就是axios，只不过是稍加配置之后的
const requests = axios.create({
    // 基础路径，不用自己手动书写 '/api'
    baseURL:'/api',
    // 5s之后没有响应，自动结束
    timeout:5000,
})

// 请求拦截器
requests.interceptors.request.use((config)=>{
    if(store.state.detail.uuid_token){
        // 给请求头添加一个字段(后台固定数据userTempId)
        config.headers.userTempId = store.state.detail.uuid_token
    }
    if(store.state.user.token){
        config.headers.token = store.state.user.token
    }
    nprogress.start()
    return config
})

// 响应拦截器
requests.interceptors.response.use((res)=>{
    nprogress.done()
    return res.data
},(err)=>{
    alert(err.message)
    return Promise.reject(new Error('请求失败'))
})

export default requests